package com.shuyu.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
import java.util.List;

@Data
@ApiModel(description = "NFT基本属性")
@TableName("tbl_nft")
public class NFT implements Serializable {
    private static final long serialVersionUID = -4700790055386661913L;
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "产品ID")
    private Integer productId;
    @ApiModelProperty(value = "藏品hash")
    private String transactionHash;
    @ApiModelProperty(value = "tokenId")
    private BigInteger tokenId;
    @ApiModelProperty(value = "藏品编码")
    private String collectionCode;
    @ApiModelProperty(value = "钱包地址")
    private String wallet;
    @ApiModelProperty(value = "实体卡对应的code")
    private String code;
    @ApiModelProperty(value = "激活状态 0未激活；1已激活")
    private Integer activeStatus;
    @ApiModelProperty(value = "nft流转信息")
    private transient List<NftTransfer> nftTransferList;


    private Date createTime;
    private Date modifyTime;

    public NFT() {
    }
    public NFT(Integer productId, String transactionHash, BigInteger tokenId, String collectionCode,String wallet, Date createTime) {
        this.productId = productId;
        this.transactionHash = transactionHash;
        this.tokenId = tokenId;
        this.collectionCode = collectionCode;
        this.wallet = wallet;
        this.createTime = createTime;
    }
}
